﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;


namespace _3.Datos.Eventos
{
    public class TipoEventoDB
    {
        public void Tipo_EventoGuardar(SqlCommand comando, _4.Modelado.Eventos.TipoEvento obj)
        {
            try
            {
                string sp = "usp_Tipo_EventoGuardar";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                comando.Parameters.Add(new SqlParameter("@PK_Tipo_Evento", SqlDbType.Int));
                comando.Parameters.Add(new SqlParameter("@TipoEventoDescripcion", SqlDbType.VarChar));

                comando.Parameters[0].Value = obj.PK_Tipo_Evento;
                comando.Parameters[1].Value = obj.TipoEventoNombre;

                comando.ExecuteNonQuery();


            }
            catch (Exception exc)
            {

                throw exc;
            }
        }

        public List<_4.Modelado.Eventos.TipoEvento> Tipo_EventoConsultar(SqlCommand comando, _4.Modelado.Eventos.TipoEvento objTipoEvento)
        {
            try
            {
                string sp = "usp_Tipo_EventoConsultar";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                IDataAdapter da = new SqlDataAdapter((SqlCommand)comando);
                var ds = new DataSet();
                da.Fill(ds);

                DataTable dt = ds.Tables[0];
                var lista = new List<_4.Modelado.Eventos.TipoEvento>();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    var obj = new _4.Modelado.Eventos.TipoEvento();

                    obj.PK_Tipo_Evento = Convert.ToInt32(dt.Rows[i]["PK_Tipo_Evento"]);
                    obj.TipoEventoNombre = Convert.ToString(dt.Rows[i]["TipoEventoDescripcion"]);

                    lista.Add(obj);
                }
                return lista;
            }
            catch (Exception exc)
            {

                throw exc;
            }
        }
        
        public DataSet Tipo_EventoConsultarDs(SqlCommand comando, _4.Modelado.Eventos.TipoEvento objTipoEvento)
        {
            try
            {
                string sp = "usp_Tipo_EventoConsultar";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                IDataAdapter da = new SqlDataAdapter((SqlCommand)comando);
                var ds = new DataSet();
                da.Fill(ds);

                return ds;
            }
            catch (Exception exc)
            {

                throw exc;
            }
        }


        public void Tipo_EventoEliminar(SqlCommand comando, _4.Modelado.Eventos.TipoEvento obj)
        {
            try
            {
                string sp = "usp_Tipo_EventoEliminar";

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = sp;
                comando.Parameters.Clear();

                comando.Parameters.Add(new SqlParameter("@PK_Tipo_Evento", SqlDbType.Int));

                comando.Parameters[0].Value = obj.PK_Tipo_Evento;


                comando.ExecuteNonQuery();

            }
            catch (Exception e)
            {

                throw e;
            }
        }
    }
}
